1. Field of the Invention
This invention relates to an intelligent controller having a control path and a data path to the controller separately accessed through addressable virtual space. The invention also relates to a computer peripheral system architecture and a control system protocol capable of communicating commands, messages, control information and data between a peripheral system and one or more host computers in a manner independent of the type of peripheral devices and the type of host computers.
2. Description of the Related Art
Computing systems having a peripheral system connected to the host through a controller are of course well known. Particularly, computing systems having a large mass storage system connected as a part of a virtual file system are known. Such a system has been implemented with a computing system having a peripheral system adapter in a virtual file system connected through a SCSI (Small Computing System Interface) bus to a peripheral file system containing the mass storage system. The peripheral system adapter provides the interface between the virtual file system and the host and the peripheral file system. The host system is a UNIX system. As is well known, the virtual file system protocol, along with entities in the virtual file system being identified as “vnodes,” allows the virtual file system to incorporate multiple types of file systems into a virtual file system that appears to the host as a single system.
The system calls at the host are converted to vnode file commands at the virtual file system. The vnode file commands, alone with embedded data in each command, are passed to the peripheral file system. The peripheral file system converts the vnode file commands to driver commands, and executes the commands to handle the data passed with the vnode file commands.
The problem with communicating with the peripheral file system through vnode file commands with embedded data is that the communication is quite limited compared to the capability of the peripheral file system. File systems are designed to optimize data transfer operations as in DMA (Direct Memory Access) operations. By communicating vnode commands with embedded data between the peripheral file system and the host, the embedded data is neither block-aligned nor page-aligned. Aligning this data to appropriate boundaries, so that it is useable, requires an extra copy step. Also, by communicating the data embedded in the vnode commands, the handling of the data requires all the overhead associated with processing commands. This is in stark contrast to DMA operations where data with proper page blocks is transferred directly between memory and disk drive.
What is needed is a mass storage system controller and a communication protocol between the virtual file system at the host and the storage system controller so that commands from the host to the controller are standard commands, and data can be presented back to the host in a proper form to be passed in a DMA operation.